package com.okhttp.retrofit;

import retrofit2.Callback;

/**
 * @author GYL
 * @dateTime 2020/4/22-14:33
 * @description
 */
/*public*/ interface CallbackStub<E,T> extends Callback<T> {
  
  String DISK_CACHE_DATA = "from_disk_cache";
  String NET_DATA = "from_net_data";
  
  /**
   * 其他错误 {@value}
   */
  String ERROR_CODE="-500";
  /**
   * 无数据（缓存或网络都无数据返回）
   * {@value}
   */
  int ERROR_NO_DATA=204;
  
  /**网络无效 {@value} */
  int ERROR_NET_INVALID = 900;
  
  /**请求超时  Gateway Timeout {@value} */
  int ERROR_NET_TIMEOUT = 504;
  
  /**
   * 请求执行之前
   */
  void onBeforeExecute(int what);
  
  /**
   * 执行之后，处理成功结果
   * @param what 唯一标识
   * @param code 状态码
   * @param message 信息
   * @param result 实体数据
   */
  void onHandler(int what,String code,String message, E result);
  
  /**
   * 转换数据T为E
   * @param t
   * @return
   */
  E convertBody(T t);
  
}
